//app.js
const Util = require('/utils/util.js');
const Http = require('/utils/http.js');
const QQMapWX = require('/libs/qqmap-wx-jssdk.min.js');
App({
  onLaunch: function () {
    wx.getSystemInfo({
      success: e => {
        this.globalData.StatusBar = e.statusBarHeight;
        let capsule = wx.getMenuButtonBoundingClientRect();
        if (capsule) {
          this.globalData.Custom = capsule;
          this.globalData.CustomBar = capsule.bottom + capsule.top - e.statusBarHeight;
        } else {
          this.globalData.CustomBar = e.statusBarHeight + 50;
        }
      }
    }),
      // 登录
      wx.login({
        success: res => {
          // 发送 res.code 到后台换取 openId, sessionKey, unionId
          if (res.code) {
            this.code = res.code;
          }
        }
      })
      // 获取用户信息
      wx.getSetting({
        success: res => {
          if (res.authSetting['scope.userInfo']) {
            // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
            wx.getUserInfo({
              success: res => {
                // 可以将 res 发送给后台解码出 unionId
                this.globalData.userInfo = res.userInfo
  
                // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
                // 所以此处加入 callback 以防止这种情况
                if (this.userInfoReadyCallback) {
                  this.userInfoReadyCallback(res)
                }
              }
            })
          }
        }
      }),
      this.qqmapsdk = new QQMapWX({
        key: 'RKEBZ-5AHRG-UESQB-ITOOU-5WSYJ-T4FCQ'
      });
  },
  globalData: {
    userInfo: null
  },
  code: '',
  formatTime: Util.formatTime,
  getUUID: Util.getUUID,
  tip: Util.tip,
  showLoad: Util.showLoad,
  hideLoad: Util.hideLoad,
  POST: Http.POST,
  GET: Http.GET,
  UploadFile: Http.UploadFile,
  Download: Http.Download,
  compareVersion: Util.compareVersion,
  QQMapWX: QQMapWX,
  qqmapsdk: ''
})